1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi

24 1 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 24
Dung lượng 635,2 KB

Nội dung

MẪU 14KHCN BỘ CÔNG THƯƠNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH BÁO CÁO KHOA HỌC TỔNG KẾT ĐỀ TÀI KẾT QUẢ THỰC HIỆN ĐỀ TÀI KHCN CẤP TRƯỜNG Tên đề tài Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi Mã số đề tài IUH KTT1016 Chủ nhiệm đề tài Tôn Long Phước Đơn vị thực hiện Khoa CNTT TP Hồ Chí Minh, 2017 TP Hồ Chí Minh, Trang 1 PHẦN I THÔNG TIN CHUNG 1 1 Tên đề tài Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi 1 2 Mã số IUH KTT1016 1 3 Danh sách chủ trì, thàn.

BỘ CƠNG THƯƠNG ĐẠI HỌC CƠNG NGHIỆP TP HỒ CHÍ MINH BÁO CÁO KHOA HỌC TỔNG KẾT ĐỀ TÀI KẾT QUẢ THỰC HIỆN ĐỀ TÀI KH&CN CẤP TRƯỜNG Tên đề tài: Xây dựng mơ hình chuyển đổi ngơn ngữ đặc tả sang ngôn ngữ thực thi Mã số đề tài: IUH.KTT10/16 Chủ nhiệm đề tài: Tôn Long Phước Đơn vị thực hiện: Khoa CNTT TP Hồ Chí Minh, 2017 TP Hồ Chí Minh, … PHẦN I THƠNG TIN CHUNG 1.1 Tên đề tài: Xây dựng mơ hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi 1.2 Mã số: IUH.KTT10/16 1.3 Danh sách chủ trì, thành viên tham gia thực đề tài TT Họ tên (học hàm, học vị) Đơn vị cơng tác Vai trị thực đề tài ThS Tôn Long Phước K.CNTT Chủ nhiệm ThS Nguyễn Minh Hải K.CNTT Thành viên 1.4 Đơn vị chủ trì: Khoa CNTT 1.5 Thời gian thực hiện: 1.5.1 Theo hợp đồng: từ tháng 04 năm 2016 đến tháng 04 năm 2017 1.5.2 Gia hạn (nếu có): đến tháng… năm… 1.5.3 Thực thực tế: từ tháng 04 năm 2016 đến tháng 12 năm 2017 1.6 Những thay đổi so với thuyết minh ban đầu (nếu có): (Về mục tiêu, nội dung, phương pháp, kết nghiên cứu tổ chức thực hiện; Nguyên nhân; Ý kiến Cơ quan quản lý) 1.7 Tổng kinh phí phê duyệt đề tài: 18 triệu đồng PHẦN II KẾT QUẢ NGHIÊN CỨU Mục tiêu: a Mục tiêu tổng quát Hiện phương pháp luận DSL lĩnh vực hẹp thiết bị di động chưa có chuẩn chung thống cách phân loại mơ hình, quy trình phát triển, ngơn ngữ đặc tả Ngồi công cụ chưa áp dụng nhiều, đặc biệt công cụ hỗ trợ phát triển ứng dụng cách tự động cụ chưa áp dụng nhiều Đặc biệt cơng cụ hỗ trợ phát triển ứng dụng cách tự động nhiều hạn chế b Mục tiêu cụ thể Trang Phương pháp tiếp cận khảo sát số cơng trình bật lĩnh vực DSL thiết bị di động khả vận dụng cơng trình để phát triển DSL game thiết bị di động Bên cạnh xây dựng quy trình tiếp cận cải tiến DSL thơng dụng giúp cho việc thưc thi ứng dụng thật hiệu [Hình 2.1] Chúng tơi kiểm nghiệm thực tế phương pháp luận khoa học kỹ thuật công nghiệp hành Dựa vào đó, chúng tơi phát triển hồn thiện thông qua hệ thống hỗ trợ phát triển ứng dụng cho điện thoại di động theo hướng tiếp cận DSL Hệ thống áp dụng cho doanh nghiệp như: Anttek1 Đây tổ chức với chúng tơi kiểm định tính hợp lí hiệu cơng cụ [Hình 2.2] Kết kỳ vọng khả quan nhóm đưa lĩnh vực ứng dụng mang tính thực tiễn, đặc biệt việc thiết kế ngôn ngữ đặc tả thân thiện với người dùng, tính chặt chẽ ràng buộc mơ hình từ ứng dụng tạo từ DSL có tính thực thi cao Optional DSL Script Code GENERATE PARSE Hình 1.1 Qui trình hoạt động DSL thông dụng theo Martin Folwer [7] Trong qui trình tác giả đưa bước để chuyển đổi nội dung từ kịch tạo DSL (DSL Script) thông qua cú pháp chuyển đổi thành mơ hình (model) Từ đó, với mơ hình ngữ nghĩa kết hợp với tùy chọn khác (optional) để phát sinh thành mã máy (code) cho ngôn ngữ thực thi http://ww.anttek.com Trang Hình 1.2 Qui trình hoạt động DSL theo hướng đề xuất Phương pháp nghiên cứu : Đề tài thực qua việc áp dụng nhiều hướng tiếp cận kỹ thuật khác để xây dựng DSL Trong phần xin trình bày kỹ thuật a Tiếp cận hướng mơ hình MDD & MDA Từ năm 2000 nay, hướng tiếp cận xem việc xây dựng chương trình hoạt động chuyển đổi từ mơ hình sang mơ hình khác gọi tắt MDD (Model-Driven Development) nghiên cứu phát triển [5] Ở hướng tiếp cận hướng đối tượng tất quy đối tượng Trái lại, hướng tiếp cận MDD tất quy mơ hình Trước hết MDD tất dựa mơ hình nên phần chúng tơi trình bày nội dung, khái niệm mơ hình Tiếp đến trình bày tư tưởng hướng tiếp cập MDD để thấy cách tiếp cận MDD áp dụng vào tốn xây dựng DSL mà quan tâm Ngồi MDD hướng tiếp cận mới, nghiên cứu phát triển [6] nên chúng tơi trình bày chuẩn hướng tiếp cận MDD nội dung hướng tiếp cận kiến trúc MDA (Model-Driven Architecture) mà đề tài quan tâm Hiện có nhiều tổ chức tham gia nghiên cứu tham vọng thành lập chuẩn riêng, ví dụ như: Kiến trúc hướng mơ hình (MDA) tổ chức OMG [7, 8], MIC – Model Intergrated Computing nhóm ISIS đại học Vanderbilt [9], SF – Software Factories công ty Microsoft2, số chuẩn khác Trong chuẩn kể trên, MDA OMG công bố rộng rãi, quan tâm nghiên cứu nhiều Hơn cịn ứng dụng để tạo nhiều cơng cụ hỗ trợ q trình làm phần mềm Ví dụ cơng cụ hỗ trợ vẽ mơ hình, hỗ trợ chuyển đổi mơ hình, hỗ trợ phát sinh mã nguồn phát triển mạnh môi trường Eclipse https://msdn.microsoft.com/en-us/library/ms954811.aspx Trang Theo tài liệu MDA3 (Model-Driven Architecture), MDA tổ chức OMG đề xuất năm 2000, hướng tiếp cận MDA định hướng cơng cụ hỗ trợ phải có khả năng: i) Xác định phần độc lập hệ thống tảng (platform); ii) Xác định phần phụ thuộc tảng  Chọn tảng chuyên biệt mà hệ thống phụ thuộc  Chuyển đổi hệ thống từ đặc tả tảng sang đặc tả tảng khác Ngoài ra, liệu cơng cụ hỗ trợ tạo phải có ba tính chất sau: tính khả chuyển – portability, tương vận – interoperability, tái sử dụng – reusability Để đạt mục tiêu khả chuyển, MDA đề kiến trúc Metadata MOF (Meta Object Facility) Để đạt mục tiêu lại MDA phân chia mức nhìn phụ thuộc hệ thống Để phát triển cơng cụ hỗ trợ phát triển hệ thống đạt mục tiêu khả chuyển, MDA định hướng phát triển hệ thống theo kiến trúc Metadata MOF Trong đó, M0 hệ thống cần xây dựng Hệ thống mô tả model M1 Mức cao M2 chứa meta-model quy định cú pháp (syntax) ngữ nghĩa (symantic) model mức M1 Mức M3 meta-metamodel định nghĩa mơ hình meta-model dựa đặc tả MOF b Xử lý ngữ nghĩa đặc tả Trong việc xây dựng công cụ DSL GmDSL, việc xử lý ngữ nghĩa trở nên cần thiết mơ hình khái niệm tăng cường ngữ nghĩa đặc tả viết ngơn ngữ quy Có nhiều cách xây dựng ngơn ngữ quy dùng để đặc tả ngơn ngữ như: i Dựa vào ontology chuyên biệt [10,11] (liên quan đến xây dựng ontology) ii Định nghĩa văn phạm cô động để người phát triển phần mềm khai báo ngữ nghĩa (văn phạm dạng BNF) iii Dùng ngôn ng ữ miêu tả ràng buộc hướng đối tượng OCL4(Object Constraint Language), Alloy [12]… để định nghĩa cho ngôn ngữ Trong đề tài này, nghiên cứu ba phương án chọn hướng để tiếp cận xây dựng cho: Tăng cường ngữ nghĩa cho siêu mơ hình, giúp cho việc chuyển đổi từ mơ hình sang ngơn ngữ thực thi dễ dàng hiệu Bên cạnh đó, cơng cụ xây dựng định nghĩa ngôn ngữ đặc tả cho người xây dựng ứng dụng miêu tả ngữ nghĩa Đây ngôn ngữ giúp cho việc đặc tả thành phần cấu trúc nội dung ứng dụng trở nên gần gũi với người xây dựng phần mềm Ngôn ngữ đặc tả mang đầy đủ tính chất Joaquin Miller and Jishnu Mukerji (2001, July) Model Driven Architecture (MDA) [Online] http://www.omg.org http://www.omg.org/spec/OCL/ Trang chung ngôn ngữ đặc tả như: cung cấp khái niệm trừu tượng hóa phần mềm cách ngắn gọn trực tiếp so với ngơn ngữ lập trình Ngơn ngữ mơ tả hành vi theo kiểu khai báo sử dụng ràng buộc để hỗ trợ cho việc xử lý ngữ nghĩa chương trình Ngữ nghĩa tốn học đơn giản, đồng nhất, phân tích ngữ nghĩa cách hồn chỉnh hiệu Ngồi ra, ngơn ngữ đặc tả ánh xạ đặc tả ngữ nghĩa sang luật cấu trúc gần với mã thực thi chương trình [13] Những luật góp phần cho tính chặt chẽ đắn xử lý ứng dụng c Ngôn ngữ đặc tả Alloy Alloy ngôn ngữ cho phép đặc tả yêu cầu mơ hình hóa hệ thống phần mềm mức độ trừu tượng cao Ngôn ngữ phát triển nhóm nghiên cứu trừu tượng hóa phần mềm MIT Ngơn ngữ Alloy kèm với số thư viện API đặc biệt cơng cụ Alloy Analyzer cho phép thử nghiệm mơ hình, tạo mơ hình mẫu hay tìm kiếm mâu thuẫn tiềm tàng mặt ngữ nghĩa thiết kế đặc tả Alloy tạo cảm hứng từ ngôn ngữ Z[14] ảnh hưởng nhiều phương pháp mơ hình hóa đối tượng ký hiệu OMT Syntropy Alloy Analyzer xây dựng dựa công nghệ SAT (Boolean Satisfiability [15]) Nhờ có tiến khơng ngừng cơng nghệ mà Alloy Analyzer có khả phân tích mơ hình cấu trúc phức tạp với tốc độ ngày nhanh Đây lần SAT ứng dụng vào việc kiểm thử mô hình phát triển mơ hình phần mềm Với Alloy, người thiết kế phần mềm kiểm chứng đắn mơ hình từ ban đầu q trình phát triển phần mềm d Mơ hình kiến trúc đề xuất Với cách tiếp cận trên, xin đề nghị kiến trúc cho việc xây dựng GmDSL sau: Kết hợp mơ hình với ngôn ngữ đặc tả ngữ nghĩa thông qua công cụ phân tích ngữ pháp.Trong chúng tơi xin đề nghị phân rã phần nội dung thảo DSL (DSL Script) thành hai thành phần phần mô tả nội dung ưng dụng luật (rules) thông qua khai báo fact Đồng thời tổ chức lại cấu trúc phần mã chương trình (code) sau tạo ra, thành mẫu kiến trúc MVC (Model-View-Controller) [16] Trang Hình 2.1 Kiến trúc phần mềm sau phát sinh Tổng kết kết nghiên cứu: Trong phần này, chúng tơi xin trình bày kết đề tài thông qua báo công cụ mà đạt Những kết trình bày phần báo báo: “Kiểm chứng dựa vào mơ hình cho đặc tả ứng dụng giai đoạn đầu ngơn ngữ Alloy” đăng tạp chí Khoa học Công nghệ số 54 (3A) năm 2016 Chúng tơi trình bày kết việc kiểm chứng đắn ưu điểm việc đặc tả ứng dụng ngôn ngữ Alloy (Hình 4.2, 4.3, 4.4) Trang Hình 4.1 Kết kiểm chứng SAT solver công cụ Alloy Analyzer 4.2 Hình 4.2 Kết kiểm chứng NuSMV Tools Vars Primary vars Clauses Duration Bitwidths GmDSLDSL (SAT) 38,182 1,370 124, 206 636ms NuSMV 29,192 1,103 120, 139 643ms Hình 4.3 Kết so sánh GmDSL NuSMV Trang Riêng công cụ phát sinh cho mà nguồn ứng dụng GmDSL-Editor (Hình 4.5) , chúng tơi hồn thiện cơng cụ cho phép người dùng soạn thảo thực chức phát sinh mã nguồn cho ứng dụng game (Hình 4.6) Hình 4.4 Giao diện cho cơng cụ soạn thảo GmDSL Hình 4.5 Mã nguồn phát sinh từ công cụ GmDSLDSL Trang Đánh giá kết đạt kết luận: Với đề tài nghiên cứu trên, đưa hướng tiếp cận nhằm phát sinh mã nguồn từ ngôn ngữ đặc tả Alloy Đây ngôn ngữ đặc tả ứng dụng mức khái quát cao gần gũi với người dùng Đồng thời, chúng tơi xây dựng mơ hình kiểm chứng tính đắn nội dung đặc tả ban đầu ứng dụng với ràng buộc chúng trình phát sinh mã thực thi Đề tài hoàn thành kết đưa từ đầu với kết quả: Một báo đăng hội nghị quốc tế công cụ ứng dụng cho phép soạn thảo Alloy Công cụ cho phép người dùng phát sinh mã Java từ ngôn ngữ đặc tả Alloy Tuy nhiên, bên cạnh kết đạt được, đề tài cịn số hạn chế cần hồn thiện sau:  Tiếp tục phát triển Engine nhằm mục đích mở rộng phạm vi ứng dụng (hiện thực cho số Casual game)  Xây dựng chế xử lý luật (rule) cho đồng với mã nguồn phát sinh thông qua Kodkod API  Hỗ trợ chế cho phép phát sinh giao diện đồ họa cho ứng dụng Hiện nay, giao diện phát sinh mức đơn giản  Hỗ trợ chức cho phép kiểm chứng phát sinh mã nguồn thực thi cho lớp gói Control, cho phép kiểm chứng thông qua công cụ SAT Solver Alloy Analyzer 4.2 Tóm tắt kết (tiếng Việt tiếng Anh) Automation generated source code and verifying are essential sector for software engineering There are many ways to generate source code and verify from the specification languages In this paper, we propose an approach that automatically generated code from a specification language Alloy From this specification language, we will describe how to translate from one language to the Java source An application in this paper is a gardening game program Applied after the findings will be organized according to the MVC (Model-View-Controller) architectural pattern Besides, we will also verify the identity of the structure of the application and the content of the Alloy specification To this, we have tested on an engine named GmDSLDSL The application was created from the tool also shows the correctness of the early constraints Keywords: MVC, DSL, Alloy, Code Generation Trang Phát sinh mã nguồn tự động kiểm chứng chúng vấn đề cần thiết cơng nghệ phần mềm Có nhiều cách để phát sinh mã nguồn kiểm chứng chúng dựa vào đặc tả ứng dụng Trong báo này, giới thiệu hướng tiếp cận phát sinh mã nguồn tự động kiểm chứng chúng việc đặc tả ứng dụng với ngôn ngữ Alloy Từ ngôn ngữ đặc tả mô tả cách tiếp cận để phát sinh mã nguồn tự động kiểm chứng chúng, mã nguồn phát sinh mã nguồn ngôn ngữ Java Một ứng dụng mô tả xuyên suốt báo ứng dụng trò chơi làm vườn Mã nguồn phát sinh từ cách tiếp cận tổ chức theo mẫu kiến trúc MVC (Model-View-Controller) Đồng thời kiểm chứng ràng buộc đặc tả ban đầu với mã nguồn phát sinh Để hỗ trợ cách tiếp cận xây dựng công cụ có tên GmDSL Cơng cụ cho phép người dùng đặc tả ứng dụng với ràng buộc ngơn ngữ Alloy Nó cho phép kiểm chứng đắn chương trình thời điểm ban đầu thông qua qua SAT Alloy NuSMV chúng tơi tích hợp Từ khóa: MVC, Ngơn ngữ chuyên biệt hóa, Alloy, Phát sinh mã Phụ lục: Tài liệu tham khảo [1] M Frigerio, J Buchli and DG Caldwell, "A Domain Specific Language for kinematic models and fast implementations of robot dynamics algorithms." arXiv preprint arXiv:1301.7190 (2013) [2] O Aksoy "Towards a Code Synchronization Mechanism Analysis and Design." The International Conference on E-Technologies and Business on the Web (EBW2013) The Society of Digital Information and Wireless Communication, 2013 [3] E Visser "WebDSL: A case study in domain-specific language engineering." Generative and Transformational Techniques in Software Engineering II Springer Berlin Heidelberg, 2008 291-373 [4] D Kramer, T Clark, S Oussena, MobDSL: A Domain Specific Language for multiple mobile platform deployment, Networked Embedded Systems for Enterprise Applications (NESEA), 2010 IEEE International Conference, E-ISBN 978-1-4244-9176-6 , pp.1,7, 25-26, Suzhou, China,2010 [5] Atkinson and T Kühne "Concepts for comparing modeling tool architectures." Model Driven Engineering Languages and Systems Springer Berlin Heidelberg, 2005 398-413 [6] M Azoff "The Benefits of Model Driven Development, MDD in Modern Web-based Systems." White Paper, Butler Direct Limited (2008) [7] J Miller, J Mukerji "Model driven architecture (mda)." Object Management Group, Draft Specification ormsc/2001-07-01 (2001) [8] SJ Mellor, ed MDA distilled: principles of model-driven architecture Addison-Wesley Professional, ISBN 0201-78891-8, 2004 [9] A Agrawal "Graph rewriting and transformation (GReAT): A solution for the model integrated computing (MIC) bottleneck." Proceedings of 18th IEEE International Conference on Automated Software Engineering IEEE Computer Society, pp 364-368, Montreal, Canada, October 2003 [10] G Guizzardi "On ontology, ontologies, conceptualizations, modeling languages, and (meta) models." Frontiers in artificial intelligence and applications 155(18) 2007 [11] N Guarino, ed Formal ontology in information systems: Proceedings of the first international conference (FOIS'98), June 6-8, Trento, Italy Vol 46 IOS press, 1998 [12] D Jackson - A Comparison of Object Modelling Notations: Alloy, UML and Z Technical report, MIT, August (1999), 8-14 Trang 10 [13] L P Ton and T M Truong Linking Rules and Conceptual Model in a Domain Specic Language In Proceedings of 9th International Conference on Advanced Computing and Applications (ACOMP), pages 35-42, Ho Chi Minh City, Vietnam, 2015 IEEE Computer Society [14] A Diller Z: An introduction to formal methods Chichester, West Sussex, England: Wiley & Sons, 1994 [15] E Clarke, A Biere, R Raimi, & Y Zhu Bounded model checking using satisfiability solving Formal methods in system design, 19(1), 7-34, 2001 [16] JM Lucassen and SH Maes "MVC (model-view-controller) based multi-modal authoring tool and development environment." U.S Patent No 6,996,800 Feb 2006 Trang 11 PHẦN III SẢN PHẨM, CÔNG BỐ VÀ KẾT QUẢ ĐÀO TẠO CỦA ĐỀ TÀI 3.1 Kết nghiên cứu TT Tên sản phẩm Yêu cầu khoa học hoặc/và tiêu kinh tế - kỹ thuật Đăng ký Đạt Bài báo đăng hội nghị quốc tế X X Công cụ X X … Ghi chú: - Sản phẩm dạng ấn phẩm liệt kê thông tin theo thứ tự - Các ấn phẩm khoa học (bài báo, báo cáo KH, sách chuyên khảo…) chấp nhận có ghi nhận địa cảm ơn tài trợ ĐH Công Nghiệp TP HCM theo quy định - Photo toàn văn ấn phẩm để đưa vào phụ lục minh chứng báo cáo Riêng sách chuyên khảo cần có photo trang bìa, trang đầu trang cuối kèm thông tin mã số xuất 3.3 Kết đào tạo Thời gian kinh phí Cơng trình cơng bố liên quan TT Họ tên tham gia đề tài (Sản phẩm KHCN, luận án, luận Đã bảo vệ (số tháng/số tiền) văn) Nghiên cứu sinh Học viên cao học Ghi chú: - Gửi kèm photo trang bìa luận án/ luận văn/ khóa luận giấy chứng nhận nghiên cứu sinh/thạc sỹ học viên bảo vệ thành công luận án/ luận văn; PHẦN IV TỔNG HỢP KẾT QUẢ CÁC SẢN PHẨM KH&CN VÀ ĐÀO TẠO CỦA ĐỀ TÀI TT Sản phẩm Số lượng Số lượng đăng ký hoàn thành Bài báo cơng bố tạp chí khoa học quốc tế theo hệ thống ISI/Scopus Sách chuyên khảo xuất ký hợp đồng xuất Đăng ký sở hữu trí tuệ Bài báo quốc tế khơng thuộc hệ thống ISI/Scopus Số lượng báo tạp chí khoa học Trường, tạp 01 01 Trang 12 chí khoa học chuyên ngành quốc gia báo cáo khoa học đăng kỷ yếu hội nghị quốc tế Báo cáo khoa học kiến nghị, tư vấn sách theo đặt hàng đơn vị sử dụng Kết dự kiến ứng dụng quan hoạch định sách sở ứng dụng KH&CN Đào tạo/hỗ trợ đào tạo NCS Đào tạo thạc sĩ PHẦN V TÌNH HÌNH SỬ DỤNG KINH PHÍ Kinh phí Kinh phí duyệt thực Ghi (triệu đồng) (triệu đồng) 18 18 12 12 TT Nội dung chi A B Chi phí trực tiếp Th khốn chun mơn Ngun, nhiên vật liệu, Thiết bị, dụng cụ Cơng tác phí Dịch vụ thuê Hội nghị, Hội thảo, kiểm tra tiến độ, nghiệm thu In ấn, Văn phịng phẩm Chi phí khác Chi phí gián tiếp Quản lý phí Chi phí điện, nước Tổng số 3 2 PHẦN VI KIẾN NGHỊ (về phát triển kết nghiên cứu đề tài; quản lý, tổ chức thực cấp) PHẦN VII PHỤ LỤC (minh chứng sản phẩm nêu Phần III) L P Tôn, Hai Minh Nguyen, Model checking early requirements specifications in Alloy, In Journal of Science and Technology, Vietnam Academy of Science and Technology, vol 54 (3A), Special issue of Intelligent System and its Applications, pp 140-151, 2016 (selected papers from Proceedings of International Symposium Intelligent Systems and Applications 2016 (ISA2016), Ho Chi Minh City, Vietnam) TP HCM, ngày 21 tháng 03 năm 2017 Phịng QL KH&HTQT Đơn vị chủ trì đề tài Trang 13 Chủ nhiệm đề tài (Họ tên, chữ ký) MỤC LỤC Trang TÓM TẮT 15 ABSTRACT 16 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 17 DANH MỤC CÁC BẢNG 17 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 17 CHƯƠNG I GIỚI THIỆU ĐỀ TÀI 18 I Đặt vấn đề 18 II Tình hình nghiên cứu 20 II.1 Tình hình nghiên cứu nước ngồi 20 II.2 Tình hình nghiên cứu nước 20 CHƯƠNG II CƠ SỞ LÝ THUYẾT & NỘI DUNG NGHIÊN CỨU 23 I Mục tiêu nghiên cứu 23 I.1 Mục tiêu tổng quát 23 I.2 Mục tiêu cụ thể .23 I.3 Tiếp cận hướng mơ hình MDD, MDA 24 I.4 Xử lý ngôn ngữ đặc tả 26 II Nội dung nghiên cứu 28 CHƯƠNG III HƯỚNG ĐỀ XUẤT 29 I Xử lý ngôn ngữ đặc tả 29 I.1 Ngôn ngữ đặc Alloy 30 I.2 Mơ hình kiến trúc đề xuất .30 II Kiểm chứng kết nghiên cứu .31 CHƯƠNG IV KẾT LUẬN VÀ ĐỀ NGHỊ 35 TÀI LIỆU THAM KHẢO 36 PHỤ LỤC 38 Trang 14 TÓM TẮT Phát sinh mã nguồn tự động kiểm chứng chúng vấn đề cần thiết công nghệ phần mềm Có nhiều cách để phát sinh mã nguồn kiểm chứng chúng dựa vào đặc tả ứng dụng Trong báo này, giới thiệu hướng tiếp cận phát sinh mã nguồn tự động kiểm chứng chúng việc đặc tả ứng dụng với ngôn ngữ Alloy Từ ngôn ngữ đặc tả mô tả cách tiếp cận để phát sinh mã nguồn tự động kiểm chứng chúng, mã nguồn phát sinh mã nguồn ngôn ngữ Java Một ứng dụng mô tả xuyên suốt báo ứng dụng trò chơi làm vườn Mã nguồn phát sinh từ cách tiếp cận tổ chức theo mẫu kiến trúc MVC (Model-View-Controller) Đồng thời kiểm chứng ràng buộc đặc tả ban đầu với mã nguồn phát sinh Để hỗ trợ cách tiếp cận xây dựng cơng cụ có tên GmDSL Cơng cụ cho phép người dùng đặc tả ứng dụng với ràng buộc ngơn ngữ Alloy Nó cho phép kiểm chứng đắn chương trình thời điểm ban đầu thông qua qua SAT Alloy NuSMV chúng tơi tích hợp Trang 15 ABSTRACT Automation generated source code and verifying are essential sector for software engineering There are many ways to generate source code and verify from the specification languages In this paper, we propose an approach that automatically generated code from a specification language Alloy From this specification language, we will describe how to translate from one language to the Java source An application in this paper is a gardening game program Applied after the findings will be organized according to the MVC (Model-View-Controller) architectural pattern Besides, we will also verify the identity of the structure of the application and the content of the Alloy specification We built an tool as GmDSL, we have verified the aplication in GmDSL The application was created from the tool also shows the correctness of the early constraints Simultaneously, we also compares be verified through the GmDSL tool with NuSVM tool Trang 16 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT - DSL (Domain Specific Languages) - MDD (Model-Driven Development) - MDA (Model-Driven Architecture) - SQL (Structured Query Language) DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ  Hình 2.1 Qui trình hoạt động DSL thơng dụng  Hình 2.2 Đặc trưng DSL cải tiến  Hình 2.3 Qui trình hoạt động GmDSL  Hình 2.4 Chuyển đổi mơ hình từ mức quan niệm  Hình 2.5 Meta-model  Hình 3.1 Kiến trúc phần mềm  Hình 3.2 Quá trình kiểm chứng tính đắn thơng qua SAT nuSMV  Hình 3.3 Kết kiểm chứng SAT  Hình 3.4 Kết kiểm chứng NuSMV  Hình 3.5 Kết so sánh GmDSL NuSMV  Hình 3.5 Kết so sánh GmDSL nuSMV  Hình 3.6 Giao diện cho cơng cụ soạn thảo GmDSL  Hình 3.7 Mã nguồn phát sinh từ cơng cụ GmDSL Trang 17 CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI I Đặt vấn đề Trong lịch sử công nghệ phần mềm, vấn đề tự động hóa q trình xây dựng ứng dụng quan tâm Những cách tiếp cận để tự động hóa lập trình logic (Prolog), lập trình đặc tả (e.g., Lisp, Alloy) đem lại số kết mặt lý thuyết tính hiệu độ khả dụng cịn nhiều hạn chế (chạy chậm, khơng có tương tác người máy) Quy trình xây dựng phần mềm xem hiệu quy trình đảm bảo phạm vi ứng dụng rộng rãi, thời gian phát triển ngắn tính tự động cao Trên thực tế, với xuất ngơn ngữ lập trình cơng cụ ngày nhiều, nhiều phương pháp luận quy bán quy đem lại tự động hóa mang tính cục quy trình xây dựng phần mềm Việc tự động hóa cho tồn q trình phát triển phần mềm rõ ràng vấn đề chưa quan tâm mức Tuy nhiên, việc tự động hóa cho tồn q trình dẫn đến phạm vi ứng dụng bị giới hạn lại yếu tố làm cho lĩnh vực bỏ ngỏ nhiều hướng nghiên cứu Trong bối cảnh đó, nhóm xin chọn hướng để tiếp cận thực quy trình phát triển phần mềm mà tính tự động hóa nâng lên phạm vi áp dụng cải thiện, cụ thể nhóm chọn quy trình xây dựng ứng dụng thiết bị di động cách tự động Trong năm gần việc phát triển ứng dụng thiết bị di động ngày phổ biến, đặc biệt game Tại Việt Nam, thị phần phát triển ứng dụng thiết bị di động tăng trưởng mạnh có game, phần lớn cơng ty áp dụng quy trình cơng nghệ lập trình cách thủ cơng để giải tốn ứng dụng Tính tự động hóa tốn ứng dụng chưa thực quan tâm mức giới làm phần mềm nay, việc tự động hóa cao dẫn đến phạm vi ứng dụng thu gọn lại Các nghiên cứu cho thấy việc chuyển đổi từ ngôn ngữ đặc tả sang ngơn ngữ lập trình xu [9] Trong ngơn ngữ đặc tả xem hướng tiếp cận quan trọng cho lĩnh vực phần mềm Hiện có số nhóm nghiên cứu ngôn ngữ đặc tả J Buchli [12] hay O Aksoy [16] đưa số kỹ thuật cho việc xây dựng ngôn ngữ đặc tả Các ngơn ngữ đặc tả Trang 18 có đặc điểm chung chuyển đổi đặc tả tốn thành mơ hình (model) từ mơ hình chuyển đổi thành ngôn ngữ thực thi cụ thể Tuy nhiên việc mô tả chi tiết qui định ràng buộc mơ hình thật khơng mang tính khái qt cao tính khai báo cho chi tiết hạn chế Ngoài việc xây dựng công cụ (tool) hỗ trợ giống phần mềm hỗ trợ (engine) cho việc thiết kế giao diện, cấu trúc ứng dụng thật thu hút nhà thiết kế phần mềm Như cơng cụ thiết kế giao diện web nhóm E Visser [20] hay công cụ thiết kế giao diện điện thoại di động T Clark [2] mang đến số kết định Tuy nhiên việc kết hợp ngôn ngữ đặc tả công cụ thiết kế ứng dụng điện thoại di dộng thật nhiều hạn chế Một số hãng phát triển phần mềm hỗ trợ mạnh cho việc xây dựng game di động, nhiên engine chủ yếu phát triển phần đồ họa, riêng việc đặc tả nội dung ứng dụng thiết bị hạn chế Có lẽ việc nghiên cứu kết hợp cho ngôn ngữ đặc tả thân thiện với người dùng phần mềm hỗ trợ cho phép đưa ứng dụng nhanh chóng việc kết hợp thú vị cho việc tiếp cận xây dựng phần mềm Chính lẽ đó, tơi xin trình bày hướng nghiên cứu, làm để xây dựng cơng cụ mà việc đặc tả ứng dụng (cụ thể game) cách đơn giản khai báo mơ hình ràng buộc ngữ nghĩa thực thể Cơng cụ thể tính chặt chẽ hợp lí thiết kế đồng thời phát sinh sang ngơn ngữ thực thi đặc tả Chương trình phát sinh từ cơng cụ thực thi cách nhanh chóng mà đảm bảo tính quán từ phần đặc tả người dùng Đó ngơn ngữ ngữ cảnh hẹp (Domain-Specific Language - DSL) cho ứng dụng game điện thoại di động Trong công cụ hướng đến cách tiếp cận kết hợp mơ hình hóa ràng buộc mơ hình khai báo (dựa vào ngữ nghĩa) giúp cho chương trình khơng hồn thiện mà cịn đảm bảo tính đắn với thiết kế ban đầu Bản chất công cụ một ngôn ngữ ngữ cảnh hẹp Tơi xin trình bày ngắn gọn khái niệm Ngơn ngữ ngữ cảnh hẹp cịn gọi ngơn ngữ lập trình chun biệt hóa ngữ cảnh hẹp ngôn ngữ tập trung vào lĩnh vực hẹp (theo Mark Fowler [7]) Ví Trang 19 dụ Fortran DSL xây dựng cho phép khai báo biểu thức toán học trực tiếp, Ms Excel DSL cho phép thực bảng tính thơng qua hàm xử lý liệu SQL (Structured Query Language) công cụ DSL tổ chức thao tác liệu hay Algol sử dụng chuyên biệt cho lĩnh vực hẹp thuật toán Mỗi DSL gồm có hai mức định nghĩa: cú pháp trừu tượng (abstract syntax) cú pháp cụ thể (concrete syntax) [8] Ở mức cú pháp trừu tượng định nghĩa khái niệm mối quan hệ chúng Còn mức cú pháp cụ thể định nghĩa mức thể vật lý khái niệm mối quan hệ hay nói cách khác mức cú pháp cụ thể, khái nhiệm mối quan hệ ánh xạ thành biểu tượng thể vật lý Cú pháp cụ thể thể văn (text) sơ đồ (diagram) Trong cấu trúc DSL không nhắc đến siêu mô hình (Meta-model) Siêu mơ hình mơ hình dùng để định nghĩa mơ hình khác Người ta dùng siêu mơ hình để định nghĩa cú pháp trừu tượng DSL Hiện việc phân loại DSL gồm có hướng sau: Dạng khai báo, dạng biểu diễn văn bản, dạng trực quan (visual) dạng ngữ nghĩa [20] II Tình hình nghiên cứu II.1 Tình hình nghiên cứu nước ngồi Trong ngành cơng nghiệp phần mềm, xu hướng phát triển phần mềm ứng dụng trò chơi (game) thiết bị di động chủ yếu dựa công cụ hỗ trợ (game engine) Các công cụ xây dựng từ mã nguồn mở thương mại phát triển cách mạnh mẽ công cụ hỗ trợ: id Tech 55, Frostbite 36, CryEngine7… Tuy nhiên việc xây dựng dựa công cụ hỗ trợ gặp số vấn đề khó khăn như: Khả chuyển đổi từ mơ hình thiết kế sang thực thi cịn phải đặc tả cách cứng nhắc, chưa thật uyển chuyển tính mơ tả cao Tính tự động cơng cụ hỗ trợ chưa thật đóng góp nhiều cho toàn ứng dụng Ngày nay, giới có nhiều cơng ty phần mềm xây dựng ứng dụng game theo hướng phát triển http://www.moddb.com/engines/id-tech-5, http://cryengine.com/ http://cryengine.com/ www.tencent.com, www.nintendo.com, www.nexon.com, http://mixi.co.jp, http://vn.vinagames.com, http://fgame.vn/, http://www.gameloft.vn http://ifunsoft.vn, 9http://www.anttek.com/ Trang 20 Tencent8, Nintendo9, Nexon10, Mixi11…và nước có nhà phát triển Vinagame12, Fgame13, Gameloft14, iFunsoft15, Anttek16… Các hướng tiếp cận cố gắng đưa công cụ để hỗ trợ thiết kế giao diện chủ yếu, việc hỗ trợ cho kịch vai trò đối tượng game chưa thật rõ ràng Các bước đề xuất có ngun lí hoạt động chung game ứng dụng sau [32]: - Bước 1: Thiết kế giao diện người dùng công cụ hỗ trợ - Bước 2: Chuyển sang mã nguồn (code) ngơn ngữ lập trình cụ thể - Bước 3: Đưa luật game vào chương trình cú pháp câu lệnh - Bước 4: Kiểm chứng chương trình Ngồi có số nhóm nghiên cứu việc chuyển đổi mơ hình thiết kế sang ngơn ngữ thực thi nhóm Bedekar [1] cho phép thiết kế giao diện công cụ đặc tả chuyển đổi sang giao diện người dùng Tuy nhiên việc xây dựng hoàn toàn kịch ứng dụng game để chuyển thành ứng dụng nhóm chưa thật thành cơng Nhóm Clark [2] có ý tưởng cho phép xây dựng DSL giúp cho ứng dụng chạy nhiều ứng dụng khác mà không cần phải biên dịch lại Nhóm Manjunatha [25] đưa ý tưởng xây dựng DSL cho phép phát triển ứng dụng đám mây thiết bị di động (Cloud-Mobile) Bên cạnh hãng phát triển ứng dụng thiết bị di động tham gia vào việc nghiên cứu xây dựng công cụ DSL nhằm giúp việc xây dựng ứng dụng trở nên dễ dàng thuận tiện cho người dùng Công ty Mircosoft tổ chức đó, việc xây dựng cơng cụ phát triển phần mềm tích hợp mơi trường Visual Studio việc tích hợp gói phát triển có tên gọi Nuget17, công cụ cho phép xây dựng ứng dụng Game dựa tảng web có bước Đây xem cách tiếp cận nhằm rút ngắn thời gian xây dựng ứng dụng game thiết bị di động 17 https://www.nuget.org/packages/Microsoft.AspNet.Mvc/ Trang 21 II.2 Tình hình nghiên cứu nước Ở Việt Nam tại, số lượng nhóm nghiên cứu vấn đề xây dựng công cụ DSL cho phát triển ứng dụng ngữ cảnh hẹp khơng nhiều, kể đến nhóm nghiên cứu trường Đại học Cơng nghệ, đại học Quốc Gia Hà Nội TS Đặng Đức Hạnh làm trưởng nhóm Nhóm có số cơng trình nghiên cứu mơ hình hóa ngữ cảnh hẹp (Domain-Specific Modeling Language) để chuyển đổi từ mơ hình sang ngơn ngữ cụ thể [33] Nhóm đạt số kết cụ thể như: Kiểm chứng ràng buộc mơ hình ngơn ngữ đặc tả, kiểm tra tính hợp lệ… Bên cạnh đó, Tp Hồ Chí Minh nhóm nghiên cứu xây dựng hệ thống giao diện người dùng tự động điện thoại di động theo hướng tiếp cận mơ hình đạt số thành cơng định Nhóm nghiên cứu trường Đại học Khoa học tự nhiên TP.HCM hướng dẫn TS Trần Hạnh Nhi [8] Nhóm có số kết nghiên cứu việc chuyển đổi từ mơ hình thiết kế sang giao diện người dùng tảng thiết bị di động Kết nhóm cho phép chuyển đổi mơ hình đặc tả sang ngôn ngữ thực thi mà cụ thể giao diện người dùng ứng dụng thiết bị di động Nhưng để xây dựng hoàn tồn ứng dụng thật chưa hồn thiện từ kết nghiên cứu Riêng trường đại học Bách Khoa Tp.HCM có nhóm TS Lê Lam Sơn tập trung vào ngơn ngữ chun biệt hóa cho kỹ nghệ phần mềm theo nghĩa rộng (software, enterprise, processes) Trang 22 CHƯƠNG II: CƠ SỞ LÝ THUYẾT & NỘI DUNG NGHIÊN CỨU I Mục tiêu nghiên cứu I.1 Mục tiêu tổng quát Hiện phương pháp luận DSL lĩnh vực hẹp thiết bị di động chưa có chuẩn chung thống cách phân loại mơ hình, quy trình phát triển, ngơn ngữ đặc tả Ngồi cơng cụ chưa áp dụng nhiều, đặc biệt công cụ hỗ trợ phát triển ứng dụng cách tự động từ mơ hình kết hợp khai báo Chính mà đề tài tập trung vào nghiên cứu vận dụng phương pháp luận mơ hình hóa kết hợp phân tích ngữ nghĩa quy trình xây dựng DSL để giải tốn Nhóm dự định dựa vào sở nghiên cứu làm tảng để đưa một DSL cho ứng dụng game di động cụ thể ngơn ngữ lập trình Android I.2 Mục tiêu cụ thể Phương pháp tiếp cận khảo sát số cơng trình bật lĩnh vực DSL thiết bị di động khả vận dụng cơng trình để phát triển DSL game thiết bị di động Bên cạnh xây dựng quy trình tiếp cận cải tiến DSL thông dụng giúp cho việc thưc thi ứng dụng thật hiệu [Hình 2.1] Chúng kiểm nghiệm thực tế phương pháp luận khoa học kỹ thuật công nghiệp hành Dựa vào đó, chúng tơi phát triển hồn thiện thơng qua hệ thống hỗ trợ phát triển ứng dụng cho điện thoại di động theo hướng tiếp cận DSL Hệ thống áp dụng cho doanh nghiệp như: speedVietnam18, Anttek Đây tổ chức với kiểm định tính hợp lí hiệu cơng cụ [Hình 2.2] Kết kỳ vọng khả quan nhóm đưa lĩnh vực ứng dụng mang tính thực tiễn, đặc biệt việc thiết kế ngôn ngữ đặc tả thân thiện với người dùng, tính chặt chẽ ràng buộc mơ hình từ ứng dụng tạo từ DSL có tính thực thi cao 18 http://pay.tocdo.vn/ Trang 23 ... tiếp cận xây dựng cho: Tăng cường ngữ nghĩa cho siêu mô hình, giúp cho việc chuyển đổi từ mơ hình sang ngôn ngữ thực thi dễ dàng hiệu Bên cạnh đó, cơng cụ xây dựng định nghĩa ngôn ngữ đặc tả cho... ngôn ngữ đặc tả Các ngôn ngữ đặc tả Trang 18 có đặc điểm chung chuyển đổi đặc tả tốn thành mơ hình (model) từ mơ hình chuyển đổi thành ngơn ngữ thực thi cụ thể Tuy nhiên việc mô tả chi tiết qui định... việc chuyển đổi từ mơ hình thi? ??t kế sang giao diện người dùng tảng thi? ??t bị di động Kết nhóm cho phép chuyển đổi mơ hình đặc tả sang ngơn ngữ thực thi mà cụ thể giao diện người dùng ứng dụng thi? ??t

Ngày đăng: 15/07/2022, 09:05

HÌNH ẢNH LIÊN QUAN

Tên đề tài: Xây dựng mơ hình chuyển đổi ngôn ngữ đặc tả - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
n đề tài: Xây dựng mơ hình chuyển đổi ngôn ngữ đặc tả (Trang 1)
1.1. Tên đề tài: Xây dựng mơ hình chuyển đổi ngơn ngữ đặc tả sang ngôn ngữ thực thi. - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
1.1. Tên đề tài: Xây dựng mơ hình chuyển đổi ngơn ngữ đặc tả sang ngôn ngữ thực thi (Trang 2)
Hình 1.1 Qui trình hoạt động của một DSL thông dụng theo Martin Folwer [7]  - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
Hình 1.1 Qui trình hoạt động của một DSL thông dụng theo Martin Folwer [7] (Trang 3)
Hình 1.2 Qui trình hoạt động của một DSL theo hướng đề xuất - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
Hình 1.2 Qui trình hoạt động của một DSL theo hướng đề xuất (Trang 4)
Hình 2.1 Kiến trúc của phần mềm sau khi phát sinh. - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
Hình 2.1 Kiến trúc của phần mềm sau khi phát sinh (Trang 7)
Hình 4.1 Kết quả kiểm chứng trên SAT solver của công cụ Alloy Analyzer 4.2.               - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
Hình 4.1 Kết quả kiểm chứng trên SAT solver của công cụ Alloy Analyzer 4.2. (Trang 8)
Hình 4.2 Kết quả kiểm chứng trên NuSMV. - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
Hình 4.2 Kết quả kiểm chứng trên NuSMV (Trang 8)
Hình 4.4 Giao diện cho cơng cụ soạn thảo GmDSL. - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
Hình 4.4 Giao diện cho cơng cụ soạn thảo GmDSL (Trang 9)
Riêng công cụ phát sinh cho mà nguồn ứng dụng GmDSL-Editor (Hình 4.5 ), chúng tơi đã hồn thiện công cụ này cho phép người dùng soạn thảo và thực hiện các chức năng phát sinh  mã nguồn cho các ứng dụng game (Hình 4.6) - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
i êng công cụ phát sinh cho mà nguồn ứng dụng GmDSL-Editor (Hình 4.5 ), chúng tơi đã hồn thiện công cụ này cho phép người dùng soạn thảo và thực hiện các chức năng phát sinh mã nguồn cho các ứng dụng game (Hình 4.6) (Trang 9)
PHẦN V. TÌNH HÌNH SỬ DỤNG KINH PHÍ TT  Nội dung chi  - Xây dựng mô hình chuyển đổi ngôn ngữ đặc tả sang ngôn ngữ thực thi
i dung chi (Trang 14)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w