Xây dựng lại OCL, Từ nền tảng

Friedrich Steimann1, Robert Clarisó2, Martin Gogolla3
1FernUniversität in Hagen, Hagen, Germany
2Universitat Oberta de Catalunya (UOC), Barcelona, Spain
3University of Bremen, Bremen, Germany

Tóm tắt

Ngôn ngữ Ràng buộc Đối tượng (OCL) phục vụ cho việc diễn đạt các điều kiện và truy vấn phức tạp trên các mô hình dựa trên UML theo phong cách lập trình hướng đối tượng. Chúng tôi ghi nhận rằng việc OCL dựa vào lập trình hướng đối tượng dẫn đến một số vấn đề, bao gồm những sự không nhất quán tinh vi và khả năng điều hướng không an toàn. Để giải quyết những vấn đề này, chúng tôi giới thiệu OCL♯, một nền tảng hình thức mới cho OCL với những yếu tố mượn từ Alloy. Chúng tôi cung cấp cú pháp và ngữ nghĩa của OCL♯, chứng minh tính an toàn kiểu và trình bày một phiên bản triển khai nguyên mẫu.

Từ khóa

#OCL #ngữ nghĩa #ngôn ngữ quan hệ #Alloy

Tài liệu tham khảo

2012, Object Constraint Language 2.4, OMG (Object Management Group), Specification Cabot, 2012, Object Constraint Language (OCL): A Definitive Guide., 58 10.1016/j.jss.2014.03.023 10.1109/DATE.2010.5457017 10.1145/3381032 10.1016/j.scico.2007.01.013 10.1007/s10270-013-0350-8 10.1145/2976767.2976774 10.1007/978-3-030-99429-7_17 10.1016/j.scico.2007.08.002 10.1007/978-3-642-12261-3_25 Willink, Safe navigation in OCL, Proceedings of the 15th International Workshop on OCL and Textual Modeling co-located with 18th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2015), Ottawa, Canada, September 28, 2015, 1512, 81 Jackson, 2006, Software Abstractions - Logic, Language, and Analysis. Vaziri, Some shortcomings of OCL, the object constraint language of UML, TOOLS 2000: 34th International Conference on Technology of Object-Oriented Languages and Systems, 30 July - 3 August 2000, Santa Barbara, CA, USA, 555 10.1145/2428516.2428520 10.1145/346852.346922 2015, Unified Modeling Language 2.5, OMG (Object Management Group), Specification 10.1002/j.1096-9942.1995.tb00019.x 10.1007/3-540-45441-1_10 10.1007/s10270-003-0035-9 Pierce, 2002, Types and programming languages. 10.1016/j.datak.2011.09.004 10.1016/j.scico.2017.08.006 10.1007/s10270-013-0353-5 10.1007/978-3-319-66845-1_23 10.1007/978-3-540-78743-3_8 10.1007/11784180_28 10.1109/models.2017.31 10.1007/978-3-642-33666-9_27 10.1007/978-3-642-31491-9_5 10.1007/978-3-540-75209-7_30 10.1007/978-3-642-16145-2_7 10.1007/978-3-642-11447-2_13 10.1007/11787044_11