Mô hình hóa các đối tượng (OOP) trong lý thuyết loại phụ thuộc


13

Tôi quan tâm đến việc mô hình hóa các đối tượng, từ lập trình hướng đối tượng, trong lý thuyết loại phụ thuộc. Là một ứng dụng khả thi, tôi muốn có một mô hình nơi tôi có thể mô tả các tính năng khác nhau của các ngôn ngữ lập trình mệnh lệnh.

Tôi chỉ có thể tìm thấy một Bài viết về mô hình hóa các đối tượng trong lý thuyết loại phụ thuộc, đó là:
Lập trình hướng đối tượng trong lý thuyết loại phụ thuộc của A. Setzer (2006)

Có những tài liệu tham khảo thêm về chủ đề mà tôi đã bỏ lỡ và có lẽ có những cái gần đây hơn?

Có lẽ có một triển khai (tức là bằng chứng) có sẵn cho một người hoạt động định lý, như Coq hoặc Agda?

Câu trả lời:


6

Một số công việc ban đầu (?) Được thực hiện trong lĩnh vực này là của Bart Jacobs (Nijmegen) và Marieke Huisman. Công việc của họ dựa trên công cụ PVS và dựa vào mã hóa các lớp học (nếu tôi nhớ chính xác). Nhìn vào trang xuất bản của Marieke cho các bài báo vào năm 2000 và luận án tiến sĩ của cô năm 2001. Cũng xem các bài báo của Bart Jacobs được trích dẫn trong bài báo A Setzer mà bạn đề cập.

Quay trở lại những ngày đó, họ đã có một thứ gọi là công cụ LOOP, nhưng dường như nó đã biến mất khỏi các mạng nội bộ.

Có một chuỗi hội thảo được gọi là FTfJP (Kỹ thuật chính thức cho các chương trình giống như Java) nhằm giải quyết việc xác minh chính thức các chương trình OO. Không còn nghi ngờ gì nữa, một số tác phẩm sử dụng lý thuyết loại phụ thuộc / logic bậc cao. Chuỗi hội thảo đã được chạy trong khoảng 14 năm.


3

Có một bản mở rộng đáng kể theo giấy tờ Andreas Abel, Stephan Adelsberger, Anton Setzer: Lập trình tương tác trong Agda - Các đối tượng và giao diện người dùng đồ họa . Nó chứa một thư viện Agda để viết các chương trình dựa trên đối tượng, bao gồm GUI. Có một số bài viết tiếp theo với Stephan Adelsberger về việc viết GUI đã được xác minh trong lĩnh vực y tế trong Agda dựa trên lập trình hướng đối tượng.



2

Tại sao bạn nhìn vào lý thuyết loại phụ thuộc để đại diện cho OOP? Chúng ta có thể mô hình hóa OOP theo cách thỏa mãn với các phép tính không phụ thuộc không? Tôi có một mô hình không chính thức về OOP trông như thế nào, khi được dịch sang Hệ thống F (hoặc Fω nếu bạn muốn hỗ trợ thuốc generic) và tôi không thấy sự phụ thuộc giá trị loại sẽ xuất hiện ở đâu.

Các loại phụ thuộc có thể được sử dụng, ví dụ, để cung cấp một ý nghĩa cấp thấp hơn cho các loại dữ liệu đại số. Bạn có thể có thể thực hiện mã hóa các tính năng OO ở mức độ thấp như vậy, nhưng tôi không chắc điều đó tốt hơn việc thêm các kiểu dữ liệu đại số vào ngôn ngữ mô hình hóa của bạn.

Có thể bạn muốn cung cấp một ngữ nghĩa tĩnh tốt hơn cho các cấu trúc OOP hiện chưa được kiểm tra, chẳng hạn như instance_oftheo sau là a cast. Tôi có thể thấy tin tặc loại phụ thuộc là hữu ích để lý do tĩnh về các chương trình như vậy; nhưng tôi không chắc nó sẽ "mô hình hóa" các hoạt động tập trung vào góc động, đó là một cái gì đó nhiều hơn.


Đây không phải là một câu trả lời cho câu hỏi. Đây không phải là một diễn đàn thảo luận.
Dave Clarke
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.